/**
	分页插件
*/
(
	function($){
		var AjaxPaging=function(ele,opt,currclass){
			this.$element=ele;
			this.defaults={
				'pageNum':1,
				'pageSize':4,
				'totalRecord':10,
				'start':0,
				'end':4,
				'totalPage':3
			}
			this.currclass=currclass;
			this.options=$.extend({},this.defaults,opt);
		}
		AjaxPaging.prototype={
			initParams:function(){
				var _this=this;
				var temp=_this.options.totalRecord/_this.options.pageSize;
				//alert(_this.options.totalRecord/_this.options.pageSize);
				_this.options.totalPage=Math.ceil(temp);
				
				_this.options.start=1;
				_this.options.end=5;
				
				if(_this.options.totalPage<=5){
					_this.options.end=_this.options.totalPage;
				
				}else{
					_this.options.start=_this.options.pageNum-2;
					_this.options.end=_this.options.pageNum+2;
					if(_this.options.start<=0){
						_this.options.start=1;
						_this.options.end=5;
					}
					if(_this.options.end>_this.options.totalPage){
						_this.options.end=_this.options.totalPage;
						_this.options.start=_this.options.totalPage-4;
					}
					
					
				}
				
			},
			ajaxPaging:function(){
				var _this=this;
				_this.options.paramsData=$.extend({},_this.options.initData,{"pageSize":_this.options.pageSize,"pageNum":_this.options.pageNum});
				$.ajax({
					url:_this.options.remote.url,
					type:_this.options.remote.type,
					data:_this.options.paramsData,
					success:function(data){
						_this.options.tbodyContent(data);
						var data1=eval('('+data+')');
						_this.options=$.extend({},_this.options,{totalRecord:data1.totalRecord});
						_this.initParams();
						console.log(_this.options);
						_this.showAjaxBar();
					}
				})
			},
			showAjaxBar:function(){
				var _this=this;
				
				console.log(_this.options.totalRecord+"--------------------------");
				var str="";
				if(_this.options.totalPage==0){
					str+="很遗憾，没有任何数据";
				}
				else{
				str="共"+_this.options.totalRecord+"篇,共"+_this.options.totalPage+"页,当前为第"+_this.options.pageNum+"页<a>首页</a>";
				if(_this.options.pageNum==1){
					for(var i=_this.options.start;i<=_this.options.end;i++){
						str+="<a>"+i+"</a> ";
					}
					if(_this.options.totalPage!=1){
						str+="<a>下一页</a>";
					}
				}
				if(_this.options.pageNum!=_this.options.totalPage&&_this.options.pageNum!=1){
					str+="<a>上一页</a>";
					for(var i=_this.options.start;i<=_this.options.end;i++){
						str+="<a>"+i+"</a> ";
					}
					if(_this.options.totalPage!=1){
						str+="<a>下一页</a>";
					}
					
				}
				if(_this.options.pageNum==_this.options.totalPage){
					str+="<a>上一页</a>";
					for(var i=_this.options.start;i<=_this.options.end;i++){
						str+="<a>"+i+"</a> ";
					}
				}
				str+="<a>尾页</a>";
				}
				_this.$element.html(str);
				_this.$element.find("a").removeClass(_this.currclass);
				_this.$element.find("a:contains("+_this.options.pageNum+")").addClass(_this.currclass);
				_this.clickBind();
				return this.$element;
			},
			getAjaxData:function(pageNum){
				var _this=this;
				$.ajax({
					url:_this.options.remote.url,
					type:_this.options.remote.type,
					data:{'pageNum':pageNum,'pageSize':_this.options.pageSize},
					success:function(data){
						_this.options.tbodyContent(data);
						_this.options.pageNum=pageNum;
						_this.showAjaxBar();
					}
				})
			},
			clickBind:function(){
				var _this=this;
				var $element=_this.$element;
				function isNumber(value) {
				    var patrn = /^[0-9]*$/;
				    if (patrn.exec(value) == null || value == "") {
				        return false
				    } else {
				        return true
				    }
				}
				
				$element.on("click","a",function(){
					
					if($(this).is(":contains('首页')")){
						_this.getAjaxData(1);
						
					}
					if($(this).is(":contains('上一页')")){
						_this.getAjaxData(--_this.options.pageNum);
					}
					if($(this).is(":contains('下一页')")){
						_this.getAjaxData(++_this.options.pageNum);
					}
					if($(this).is(":contains('尾页')")){
						_this.getAjaxData(totalPage);
					}
					var isnumber=isNumber($(this).html());
					if(isnumber){
						_this.getAjaxData(parseInt($(this).html()));
					}
				})
			}
		}
		$.fn.ajaxpaging=function(options,currclass){
			var page=new AjaxPaging(this,options,currclass);
			return page.ajaxPaging();
		}
	}
)(jQuery);